System calls are used by user mode applications to request the execution of various operations from entities operating in the kernel. Systems call can be roughly grouped into five major categories:                i. Process Control (e.g. load, execute, create process, terminate process, get/set process attributes, wait for time, wait event, allocate, free memory, etc.);        ii. File management (e.g. create file, delete file, open, close, read, write, reposition, get/set file attributes);        iii. Device Management (e.g. request device, release device, read, write, reposition, get/set device attributes, logically attach or detach devices);        iv. Information Maintenance (e.g. get/set time or date, get/set system data, get/set process, file, or device attributes); and        v. Communication. (e.g. create, delete communication connection, send, receive messages, transfer status information, attach or detach remote devices)        
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.